/**
 * author:vesper.z
 * date: 2024  18:03
 * class: Test04
 * description：循环控制
 **/
class Test04 {
    /**
     * for循环
     */
    val arr = arrayOf(1, 3, 4, 5, 6)
    fun circle1() {
        //遍历数组
        println(" for (i in arr) ")
        for (i in arr) {
            println(i)
        }
        //通过索引遍历数组
        println("for (i in arr.indices)")
        for (i in arr.indices){
            println(arr[i])
        }

    }
    /**
     * while 与 do..while循环
     */
//    while循环
    fun circle2(){
        var a: Int =3
        var b = 1
        var c = 0
        while (a<10){
            println("a="+a++)
        }

        do {
            println("b="+b++)
        }while (b<10)

    }
    /**
     * 返回和跳转
     */
    //return。默认从最直接包围它的函数或者匿名函数返回。
    //break。终止最直接包围它的循环。
    //continue。继续下一次最直接包围它的循环。
    fun circle3(){
        for (i in 0..100){
            if (i%2!=0){
                if (i==3) continue  // i 为 3 时跳过当前循环，继续下一次循环
                println(i)
                if (i>5) break   // i 为 6 时 跳出循环
            }
        }
    }
}

fun main(args: Array<String>) {
    var test04 = Test04()
    test04.circle3()
//    test04.circle1()
}